Communication systems that use packet based protocols and packet switching for transmitting multimedia streams, such as digitized voice, audio and video, provide a more flexible and lower cost alternative to traditional telecommunications networks. They do however introduce some problems, notably increased variation in user perceived speech quality due to network impairments. Typical packet networks cause some packets to be lost or delayed which results in the quality of the decoded audio, voice or video being degraded and it is accordingly desirable to have some means of measuring or estimating the subjective or perceptual quality of the decoded audio, voice or video.
In order to reproduce a multimedia stream that is true to the original that was transmitted from the source(s), the decoder (or receiver) must be provided with data packet clusters at the same constant rate with which the data packet clusters were sent. A device often referred to as a jitter buffer may be introduced in the receiver. The jitter buffer may be capable of de-jittering the incoming stream of packets and providing a constant flow of data to the decoder. This is done by holding the packets in a buffer, thus introducing delay, so that also the packets that were subject to larger delays will have arrived before their respective time-of-use.
There is an inevitable trade-off in jitter-buffers between buffer delay on the one hand and distortions due to late arrivals on the other hand. A lower buffer level, and thus a shorter delay, generally results in a larger portion of packets arriving late or even being discarded, as the packets may be considered as being too late, while a higher buffer level, and thus a longer delay, is generally detrimental in itself for two-way communication between, e.g., humans.
Quality monitoring is an important operational scheme for service providers to maintain satisfactory Quality of Experience (QoE) of video and audio services. In order to accurately and timely assess the video and audio quality a variety of passive network monitoring systems typically need to emulate an end device jitter buffer. However, this is not a trivial task because jitter buffer implementation is highly dependent on the type of the end device, the memory and processing power available in the end device, and the types of codec (coder-decoder) supported by the end device.